#测试私有属性、私有方法
class Employee:
  __company = "百战程序员" #私有.通过dir查到_Employee__company

  def __init__(self,name,age):
    self.name = name
    self.__age = age     #私有实例属性

  def say_company(self):
    print("我的公司是：",Employee.__company)     #类内部可以直接访问私有属性
    print(self.name,"的年龄是：",self.__age)
    self.__work()

  def __work(self): #私有实例方法，通过dir可查到_Employee__work
    print("工作！好好工作，好好赚钱，娶个媳妇！")

p1 = Employee("高淇",32)
print(p1.name)
# 高淇
print(dir(p1))
# ['_Employee__age', '_Employee__company', '_Employee__work',
# '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__',
# '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__',
# '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__',
# '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__',
# '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'name', 'say_company']
p1.say_company()
# 我的公司是： 百战程序员
# 高淇 的年龄是： 32
# 工作！好好工作，好好赚钱，娶个媳妇！
print(p1._Employee__age)   #通过这种方式可以直接访问到私有属性
# 32
#print(p1.__age)      #直接访问私有属性，报错
#p1.__sleep()       #直接访问私有方法，报错
